home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / MTGDI.PAK / THREADS.H < prev   
C/C++ Source or Header  |  1997-05-06  |  4KB  |  183 lines

  1. // threads.h : declarations for each GDI thread class
  2. //
  3. // This is a part of the Microsoft Foundation Classes C++ library.
  4. // Copyright (C) 1992-1995 Microsoft Corporation
  5. // All rights reserved.
  6. //
  7. // This source code is only intended as a supplement to the
  8. // Microsoft Foundation Classes Reference and related
  9. // electronic documentation provided with the library.
  10. // See these sources for detailed information regarding the
  11. // Microsoft Foundation Classes product.
  12.  
  13. #ifndef __THREADS_H__
  14. #define __THREADS_H__
  15.  
  16. /////////////////////////////////////////////////////////////////////////////
  17. // CGDIThread thread
  18.  
  19. class CGDIThread : public CWinThread
  20. {
  21. public:
  22.     DECLARE_DYNAMIC(CGDIThread)
  23.     CGDIThread(CWnd* pWnd, HDC hDC);
  24.  
  25. // Attributes
  26. public:
  27.     CRect m_rectBorder;
  28.     HDC m_hDC;
  29.     CDC m_dc;
  30.     HANDLE m_hEventKill;
  31.     HANDLE m_hEventDead;
  32.     static HANDLE m_hAnotherDead;
  33.  
  34.     static CRITICAL_SECTION m_csGDILock;
  35.  
  36. // Operations
  37. public:
  38.     void KillThread();
  39.     void UpdateBorder();
  40.     virtual void SingleStep() = 0;
  41.  
  42. // Overrides
  43.     // ClassWizard generated virtual function overrides
  44.     //{{AFX_VIRTUAL(CGDIThread)
  45.     //}}AFX_VIRTUAL
  46.  
  47. // Implementation
  48. public:
  49.     virtual ~CGDIThread();
  50.     virtual void Delete();
  51.  
  52. protected:
  53.     virtual BOOL InitInstance();
  54.  
  55.     // Generated message map functions
  56.     //{{AFX_MSG(CGDIThread)
  57.         // NOTE - the ClassWizard will add and remove member functions here.
  58.     //}}AFX_MSG
  59.  
  60.     DECLARE_MESSAGE_MAP()
  61. };
  62.  
  63. /////////////////////////////////////////////////////////////////////////////
  64. // CBallThread thread
  65.  
  66. class CBallThread : public CGDIThread
  67. {
  68. public:
  69.     DECLARE_DYNAMIC(CBallThread)
  70.     CBallThread(CWnd* pWnd, HDC hDC, 
  71.         CPoint ptPos, CPoint ptVel, CSize Size, COLORREF color);
  72.  
  73. // Attributes
  74. public:
  75.     CRect m_rectPosition;
  76.     CPoint m_ptVelocity;
  77.     HBRUSH m_hBrush;
  78.     CBrush m_brush;
  79.  
  80. // Operations
  81. public:
  82.     virtual BOOL InitInstance();
  83.     virtual void SingleStep();
  84.  
  85. // Overrides
  86.     // ClassWizard generated virtual function overrides
  87.     //{{AFX_VIRTUAL(CBallThread)
  88.     //}}AFX_VIRTUAL
  89.  
  90. // Implementation
  91. protected:
  92.     virtual ~CBallThread() {};
  93.  
  94.     // Generated message map functions
  95.     //{{AFX_MSG(CBallThread)
  96.         // NOTE - the ClassWizard will add and remove member functions here.
  97.     //}}AFX_MSG
  98.  
  99.     DECLARE_MESSAGE_MAP()
  100. };
  101.  
  102. /////////////////////////////////////////////////////////////////////////////
  103. // CRectThread thread
  104.  
  105. class CRectThread : public CGDIThread
  106. {
  107. public:
  108.     DECLARE_DYNAMIC(CRectThread)
  109.     CRectThread(CWnd* pWnd, HDC hDC, 
  110.         CPoint ptPos, CPoint ptVel, CSize Size, COLORREF color);
  111.  
  112. // Attributes
  113. public:
  114.     CRect m_rectPosition;
  115.     CPoint m_ptVelocity;
  116.     HBRUSH m_hBrush;
  117.     CBrush m_brush;
  118.  
  119. // Operations
  120. public:
  121.     virtual BOOL InitInstance();
  122.     virtual void SingleStep();
  123.  
  124. // Overrides
  125.     // ClassWizard generated virtual function overrides
  126.     //{{AFX_VIRTUAL(CRectThread)
  127.     //}}AFX_VIRTUAL
  128.  
  129. // Implementation
  130. protected:
  131.     virtual ~CRectThread() {};
  132.  
  133.     // Generated message map functions
  134.     //{{AFX_MSG(CRectThread)
  135.         // NOTE - the ClassWizard will add and remove member functions here.
  136.     //}}AFX_MSG
  137.  
  138.     DECLARE_MESSAGE_MAP()
  139. };
  140.  
  141. /////////////////////////////////////////////////////////////////////////////
  142. // CLineThread thread
  143.  
  144. class CLineThread : public CGDIThread
  145. {
  146. public:
  147.     DECLARE_DYNAMIC(CLineThread)
  148.     CLineThread(CWnd* pWnd, HDC hDC, 
  149.         CPoint ptPos1, CPoint ptVel1, CPoint ptVel2, CSize Size, COLORREF color);
  150.  
  151. // Attributes
  152. public:
  153.     CPoint m_ptPosition1;
  154.     CPoint m_ptPosition2;
  155.     CPoint m_ptVelocity1;
  156.     CPoint m_ptVelocity2;
  157.     HPEN m_hPen;
  158.     CPen m_pen;
  159.  
  160. // Operations
  161. public:
  162.     virtual BOOL InitInstance();
  163.     virtual void SingleStep();
  164.  
  165. // Overrides
  166.     // ClassWizard generated virtual function overrides
  167.     //{{AFX_VIRTUAL(CLineThread)
  168.     //}}AFX_VIRTUAL
  169.  
  170. // Implementation
  171. protected:
  172.     virtual ~CLineThread() {};
  173.  
  174.     // Generated message map functions
  175.     //{{AFX_MSG(CLineThread)
  176.         // NOTE - the ClassWizard will add and remove member functions here.
  177.     //}}AFX_MSG
  178.  
  179.     DECLARE_MESSAGE_MAP()
  180. };
  181.  
  182. #endif // __THREADS_H__
  183.